<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Deployment.Compression</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Deployment.Compression.ArchiveException">
            <summary>
            Base exception class for compression operations. Compression libraries should
            derive subclass exceptions with more specific error information relevent to the
            file format.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveException.#ctor(System.String,System.Exception)">
            <summary>
            Creates a new ArchiveException with a specified error message and a reference to the
            inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception. If the
            innerException parameter is not a null reference (Nothing in Visual Basic), the current exception
            is raised in a catch block that handles the inner exception.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveException.#ctor(System.String)">
            <summary>
            Creates a new ArchiveException with a specified error message.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveException.#ctor">
            <summary>
            Creates a new ArchiveException.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the ArchiveException class with serialized data.
            </summary>
            <param name="info">The SerializationInfo that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The StreamingContext that contains contextual information about the source or destination.</param>
        </member>
        <member name="T:Microsoft.Deployment.Compression.ArchiveFileInfo">
            <summary>
            Abstract object representing a compressed file within an archive;
            provides operations for getting the file properties and unpacking
            the file.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.#ctor(Microsoft.Deployment.Compression.ArchiveInfo,System.String)">
            <summary>
            Creates a new ArchiveFileInfo object representing a file within
            an archive in a specified path.
            </summary>
            <param name="archiveInfo">An object representing the archive
            containing the file.</param>
            <param name="filePath">The path to the file within the archive.
            Usually, this is a simple file name, but if the archive contains
            a directory structure this may include the directory.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.#ctor(System.String,System.Int32,System.IO.FileAttributes,System.DateTime,System.Int64)">
            <summary>
            Creates a new ArchiveFileInfo object with all parameters specified;
            used by subclasses when reading the metadata out of an archive.
            </summary>
            <param name="filePath">The internal path and name of the file in
            the archive.</param>
            <param name="archiveNumber">The archive number where the file
            starts.</param>
            <param name="attributes">The stored attributes of the file.</param>
            <param name="lastWriteTime">The stored last write time of the
            file.</param>
            <param name="length">The uncompressed size of the file.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the ArchiveFileInfo class with
            serialized data.
            </summary>
            <param name="info">The SerializationInfo that holds the serialized
            object data about the exception being thrown.</param>
            <param name="context">The StreamingContext that contains contextual
            information about the source or destination.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the SerializationInfo with information about the archive.
            </summary>
            <param name="info">The SerializationInfo that holds the serialized
            object data.</param>
            <param name="context">The StreamingContext that contains contextual
            information about the source or destination.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.ToString">
            <summary>
            Gets the full path to the file.
            </summary>
            <returns>The same as <see cref="P:Microsoft.Deployment.Compression.ArchiveFileInfo.FullName"/></returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.Delete">
            <summary>
            Deletes the file. NOT SUPPORTED.
            </summary>
            <exception cref="T:System.NotSupportedException">Files cannot be deleted
            from an existing archive.</exception>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.Refresh">
            <summary>
            Refreshes the attributes and other cached information about the file,
            by re-reading the information from the archive.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.CopyTo(System.String)">
            <summary>
            Extracts the file.
            </summary>
            <param name="destFileName">The destination path where the file
            will be extracted.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.CopyTo(System.String,System.Boolean)">
            <summary>
            Extracts the file, optionally overwriting any existing file.
            </summary>
            <param name="destFileName">The destination path where the file
            will be extracted.</param>
            <param name="overwrite">If true, <paramref name="destFileName"/>
            will be overwritten if it exists.</param>
            <exception cref="T:System.IO.IOException"><paramref name="overwrite"/> is false
            and <paramref name="destFileName"/> exists.</exception>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.OpenRead">
            <summary>
            Opens the archive file for reading without actually extracting the
            file to disk.
            </summary>
            <returns>
            A stream for reading directly from the packed file. Like any stream
            this should be closed/disposed as soon as it is no longer needed.
            </returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.OpenText">
            <summary>
            Opens the archive file reading text with UTF-8 encoding without
            actually extracting the file to disk.
            </summary>
            <returns>
            A reader for reading text directly from the packed file. Like any reader
            this should be closed/disposed as soon as it is no longer needed.
            </returns>
            <remarks>
            To open an archived text file with different encoding, use the
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileInfo.OpenRead"/> method and pass the returned stream to one of
            the <see cref="T:System.IO.StreamReader"/> constructor overloads.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileInfo.Refresh(Microsoft.Deployment.Compression.ArchiveFileInfo)">
            <summary>
            Refreshes the information in this object with new data retrieved
            from an archive.
            </summary>
            <param name="newFileInfo">Fresh instance for the same file just
            read from the archive.</param>
            <remarks>
            Subclasses may override this method to refresh sublcass fields.
            However they should always call the base implementation first.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Name">
            <summary>
            Gets the name of the file.
            </summary>
            <value>The name of the file, not including any path.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Path">
            <summary>
            Gets the internal path of the file in the archive.
            </summary>
            <value>The internal path of the file in the archive, not including
            the file name.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.FullName">
            <summary>
            Gets the full path to the file.
            </summary>
            <value>The full path to the file, including the full path to the
            archive, the internal path in the archive, and the file name.</value>
            <remarks>
            For example, the path <c>"C:\archive.cab\file.txt"</c> refers to
            a file "file.txt" inside the archive "archive.cab".
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Archive">
            <summary>
            Gets or sets the archive that contains this file.
            </summary>
            <value>
            The ArchiveInfo instance that retrieved this file information -- this
            may be null if the ArchiveFileInfo object was returned directly from
            a stream.
            </value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.ArchiveName">
            <summary>
            Gets the full path of the archive that contains this file.
            </summary>
            <value>The full path of the archive that contains this file.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.ArchiveNumber">
            <summary>
            Gets the number of the archive where this file starts.
            </summary>
            <value>The number of the archive where this file starts.</value>
            <remarks>A single archive or the first archive in a chain is
            numbered 0.</remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Exists">
            <summary>
            Checks if the file exists within the archive.
            </summary>
            <value>True if the file exists, false otherwise.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Length">
            <summary>
            Gets the uncompressed size of the file.
            </summary>
            <value>The uncompressed size of the file in bytes.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.Attributes">
            <summary>
            Gets the attributes of the file.
            </summary>
            <value>The attributes of the file as stored in the archive.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileInfo.LastWriteTime">
            <summary>
            Gets the last modification time of the file.
            </summary>
            <value>The last modification time of the file as stored in the
            archive.</value>
        </member>
        <member name="T:Microsoft.Deployment.Compression.ArchiveInfo">
            <summary>
            Abstract object representing a compressed archive on disk;
            provides access to file-based operations on the archive.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.#ctor(System.String)">
            <summary>
            Creates a new ArchiveInfo object representing an archive in a
            specified path.
            </summary>
            <param name="path">The path to the archive. When creating an archive,
            this file does not necessarily exist yet.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the ArchiveInfo class with serialized data.
            </summary>
            <param name="info">The SerializationInfo that holds the serialized object
            data about the exception being thrown.</param>
            <param name="context">The StreamingContext that contains contextual
            information about the source or destination.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.ToString">
            <summary>
            Gets the full path of the archive.
            </summary>
            <returns>The full path of the archive.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.Delete">
            <summary>
            Deletes the archive.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.CopyTo(System.String)">
            <summary>
            Copies an existing archive to another location.
            </summary>
            <param name="destFileName">The destination file path.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.CopyTo(System.String,System.Boolean)">
            <summary>
            Copies an existing archive to another location, optionally
            overwriting the destination file.
            </summary>
            <param name="destFileName">The destination file path.</param>
            <param name="overwrite">If true, the destination file will be
            overwritten if it exists.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.MoveTo(System.String)">
            <summary>
            Moves an existing archive to another location.
            </summary>
            <param name="destFileName">The destination file path.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.IsValid">
            <summary>
            Checks if the archive contains a valid archive header.
            </summary>
            <returns>True if the file is a valid archive; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.GetFiles">
            <summary>
            Gets information about the files contained in the archive.
            </summary>
            <returns>A list of <see cref="T:Microsoft.Deployment.Compression.ArchiveFileInfo"/> objects, each
            containing information about a file in the archive.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.GetFiles(System.String)">
            <summary>
            Gets information about the certain files contained in the archive file.
            </summary>
            <param name="searchPattern">The search string, such as
            "*.txt".</param>
            <returns>A list of <see cref="T:Microsoft.Deployment.Compression.ArchiveFileInfo"/> objects, each containing
            information about a file in the archive.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.Unpack(System.String)">
            <summary>
            Extracts all files from an archive to a destination directory.
            </summary>
            <param name="destDirectory">Directory where the files are to be
            extracted.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.Unpack(System.String,System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Extracts all files from an archive to a destination directory,
            optionally extracting only newer files.
            </summary>
            <param name="destDirectory">Directory where the files are to be
            extracted.</param>
            <param name="progressHandler">Handler for receiving progress
            information; this may be null if progress is not desired.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.UnpackFile(System.String,System.String)">
            <summary>
            Extracts a single file from the archive.
            </summary>
            <param name="fileName">The name of the file in the archive. Also
            includes the internal path of the file, if any. File name matching
            is case-insensitive.</param>
            <param name="destFileName">The path where the file is to be
            extracted on disk.</param>
            <remarks>If <paramref name="destFileName"/> already exists,
            it will be overwritten.</remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.UnpackFiles(System.Collections.Generic.IList{System.String},System.String,System.Collections.Generic.IList{System.String})">
            <summary>
            Extracts multiple files from the archive.
            </summary>
            <param name="fileNames">The names of the files in the archive.
            Each name includes the internal path of the file, if any. File name
            matching is case-insensitive.</param>
            <param name="destDirectory">This parameter may be null, but if
            specified it is the root directory for any relative paths in
            <paramref name="destFileNames"/>.</param>
            <param name="destFileNames">The paths where the files are to be
            extracted on disk. If this parameter is null, the files will be
            extracted with the names from the archive.</param>
            <remarks>
            If any extracted files already exist on disk, they will be overwritten.
            <p>The <paramref name="destDirectory"/> and
            <paramref name="destFileNames"/> parameters cannot both be null.</p>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.UnpackFiles(System.Collections.Generic.IList{System.String},System.String,System.Collections.Generic.IList{System.String},System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Extracts multiple files from the archive, optionally extracting
            only newer files.
            </summary>
            <param name="fileNames">The names of the files in the archive.
            Each name includes the internal path of the file, if any. File name
            matching is case-insensitive.</param>
            <param name="destDirectory">This parameter may be null, but if
            specified it is the root directory for any relative paths in
            <paramref name="destFileNames"/>.</param>
            <param name="destFileNames">The paths where the files are to be
            extracted on disk. If this parameter is null, the files will be
            extracted with the names from the archive.</param>
            <param name="progressHandler">Handler for receiving progress information;
            this may be null if progress is not desired.</param>
            <remarks>
            If any extracted files already exist on disk, they will be overwritten.
            <p>The <paramref name="destDirectory"/> and
            <paramref name="destFileNames"/> parameters cannot both be null.</p>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.UnpackFileSet(System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
            <summary>
            Extracts multiple files from the archive.
            </summary>
            <param name="fileNames">A mapping from internal file paths to
            external file paths. Case-senstivity when matching internal paths
            depends on the IDictionary implementation.</param>
            <param name="destDirectory">This parameter may be null, but if
            specified it is the root directory for any relative external paths
            in <paramref name="fileNameMap"/>.</param>
            <remarks>
            If any extracted files already exist on disk, they will be overwritten.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.UnpackFileSet(System.Collections.Generic.IDictionary{System.String,System.String},System.String,System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Extracts multiple files from the archive.
            </summary>
            <param name="fileNames">A mapping from internal file paths to
            external file paths. Case-senstivity when matching internal
            paths depends on the IDictionary implementation.</param>
            <param name="destDirectory">This parameter may be null, but if
            specified it is the root directory for any relative external
            paths in <paramref name="fileNameMap"/>.</param>
            <param name="progressHandler">Handler for receiving progress
            information; this may be null if progress is not desired.</param>
            <remarks>
            If any extracted files already exist on disk, they will be overwritten.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.OpenRead(System.String)">
            <summary>
            Opens a file inside the archive for reading without actually
            extracting the file to disk.
            </summary>
            <param name="fileName">The name of the file in the archive. Also
            includes the internal path of the file, if any. File name matching
            is case-insensitive.</param>
            <returns>
            A stream for reading directly from the packed file. Like any stream
            this should be closed/disposed as soon as it is no longer needed.
            </returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.OpenText(System.String)">
            <summary>
            Opens a file inside the archive for reading text with UTF-8 encoding
            without actually extracting the file to disk.
            </summary>
            <param name="fileName">The name of the file in the archive. Also
            includes the internal path of the file, if any. File name matching
            is case-insensitive.</param>
            <returns>
            A reader for reading text directly from the packed file. Like any reader
            this should be closed/disposed as soon as it is no longer needed.
            </returns>
            <remarks>
            To open an archived text file with different encoding, use the
            <see cref="M:Microsoft.Deployment.Compression.ArchiveInfo.OpenRead(System.String)"/> method and pass the returned stream to one of
            the <see cref="T:System.IO.StreamReader"/> constructor overloads.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.Pack(System.String)">
            <summary>
            Compresses all files in a directory into the archive.
            Does not include subdirectories.
            </summary>
            <param name="sourceDirectory">The directory containing the
            files to be included.</param>
            <remarks>
            Uses maximum compression level.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.Pack(System.String,System.Boolean,Microsoft.Deployment.Compression.CompressionLevel,System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Compresses all files in a directory into the archive, optionally
            including subdirectories.
            </summary>
            <param name="sourceDirectory">This parameter may be null, but
            if specified it is the root directory
            for any relative paths in <paramref name="sourceFileNames"/>.</param>
            <param name="includeSubdirectories">If true, recursively include
            files in subdirectories.</param>
            <param name="compLevel">The compression level used when creating
            the archive.</param>
            <param name="progressHandler">Handler for receiving progress information;
            this may be null if progress is not desired.</param>
            <remarks>
            The files are stored in the archive using their relative file paths in
            the directory tree, if supported by the archive file format.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.PackFiles(System.String,System.Collections.Generic.IList{System.String},System.Collections.Generic.IList{System.String})">
            <summary>
            Compresses files into the archive, specifying the names used to
            store the files in the archive.
            </summary>
            <param name="sourceDirectory">This parameter may be null, but
            if specified it is the root directory
            for any relative paths in <paramref name="sourceFileNames"/>.</param>
            <param name="sourceFileNames">The list of files to be included in
            the archive.</param>
            <param name="fileNames">The names of the files as they are stored
            in the archive. Each name
            includes the internal path of the file, if any. This parameter may
            be null, in which case the files are stored in the archive with their
            source file names and no path information.</param>
            <remarks>
            Uses maximum compression level.
            <p>Duplicate items in the <paramref name="fileNames"/> array will cause
            an <see cref="T:Microsoft.Deployment.Compression.ArchiveException"/>.</p>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.PackFiles(System.String,System.Collections.Generic.IList{System.String},System.Collections.Generic.IList{System.String},Microsoft.Deployment.Compression.CompressionLevel,System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Compresses files into the archive, specifying the names used to
            store the files in the archive.
            </summary>
            <param name="sourceDirectory">This parameter may be null, but if
            specified it is the root directory
            for any relative paths in <paramref name="sourceFileNames"/>.</param>
            <param name="sourceFileNames">The list of files to be included in
            the archive.</param>
            <param name="fileNames">The names of the files as they are stored in
            the archive. Each name includes the internal path of the file, if any.
            This parameter may be null, in which case the files are stored in the
            archive with their source file names and no path information.</param>
            <param name="compLevel">The compression level used when creating the
            archive.</param>
            <param name="progressHandler">Handler for receiving progress information;
            this may be null if progress is not desired.</param>
            <remarks>
            Duplicate items in the <paramref name="fileNames"/> array will cause
            an <see cref="T:Microsoft.Deployment.Compression.ArchiveException"/>.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.PackFileSet(System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            Compresses files into the archive, specifying the names used
            to store the files in the archive.
            </summary>
            <param name="sourceDirectory">This parameter may be null, but if
            specified it is the root directory
            for any relative paths in <paramref name="fileNames"/>.</param>
            <param name="fileNames">A mapping from internal file paths to
            external file paths.</param>
            <remarks>
            Uses maximum compression level.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.PackFileSet(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Microsoft.Deployment.Compression.CompressionLevel,System.EventHandler{Microsoft.Deployment.Compression.ArchiveProgressEventArgs})">
            <summary>
            Compresses files into the archive, specifying the names used to
            store the files in the archive.
            </summary>
            <param name="sourceDirectory">This parameter may be null, but if
            specified it is the root directory
            for any relative paths in <paramref name="fileNames"/>.</param>
            <param name="fileNames">A mapping from internal file paths to
            external file paths.</param>
            <param name="compLevel">The compression level used when creating
            the archive.</param>
            <param name="progressHandler">Handler for receiving progress information;
            this may be null if progress is not desired.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.GetRelativeFilePathsInDirectoryTree(System.String,System.Boolean)">
            <summary>
            Given a directory, gets the relative paths of all files in the
            directory, optionally including all subdirectories.
            </summary>
            <param name="dir">The directory to search.</param>
            <param name="includeSubdirectories">True to include subdirectories
            in the search.</param>
            <returns>A list of file paths relative to the directory.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.GetFile(System.String)">
            <summary>
            Retrieves information about one file from this archive.
            </summary>
            <param name="path">Path of the file in the archive.</param>
            <returns>File information, or null if the file was not found
            in the archive.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.CreateCompressionEngine">
            <summary>
            Creates a compression engine that does the low-level work for
            this object.
            </summary>
            <returns>A new compression engine instance that matches the specific
            subclass of archive.</returns>
            <remarks>
            Each instance will be <see cref="M:Microsoft.Deployment.Compression.CompressionEngine.Dispose"/>d
            immediately after use.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.CreateStringDictionary(System.Collections.Generic.IList{System.String},System.Collections.Generic.IList{System.String})">
            <summary>
            Creates a case-insensitive dictionary mapping from one list of
            strings to the other.
            </summary>
            <param name="keys">List of keys.</param>
            <param name="values">List of values that are mapped 1-to-1 to
            the keys.</param>
            <returns>A filled dictionary of the strings.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.RecursiveGetRelativeFilePathsInDirectoryTree(System.String,System.String,System.Boolean,System.Collections.Generic.IList{System.String})">
            <summary>
            Recursive-descent helper function for
            GetRelativeFilePathsInDirectoryTree.
            </summary>
            <param name="dir">The root directory of the search.</param>
            <param name="relativeDir">The relative directory to be
            processed now.</param>
            <param name="includeSubdirectories">True to descend into
            subdirectories.</param>
            <param name="fileList">List of files found so far.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveInfo.InternalGetFiles(System.Predicate{System.String})">
            <summary>
            Uses a CompressionEngine to get ArchiveFileInfo objects from this
            archive, and then associates them with this ArchiveInfo instance.
            </summary>
            <param name="fileFilter">Optional predicate that can determine
            which files to process.</param>
            <returns>A list of <see cref="T:Microsoft.Deployment.Compression.ArchiveFileInfo"/> objects, each
            containing information about a file in the archive.</returns>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveInfo.Directory">
            <summary>
            Gets the directory that contains the archive.
            </summary>
            <value>A DirectoryInfo object representing the parent directory of the
            archive.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveInfo.DirectoryName">
            <summary>
            Gets the full path of the directory that contains the archive.
            </summary>
            <value>The full path of the directory that contains the archive.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveInfo.Length">
            <summary>
            Gets the size of the archive.
            </summary>
            <value>The size of the archive in bytes.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveInfo.Name">
            <summary>
            Gets the file name of the archive.
            </summary>
            <value>The file name of the archive, not including any path.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveInfo.Exists">
            <summary>
            Checks if the archive exists.
            </summary>
            <value>True if the archive exists; else false.</value>
        </member>
        <member name="T:Microsoft.Deployment.Compression.ArchiveProgressEventArgs">
            <summary>
            Contains the data reported in an archive progress event.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.#ctor(Microsoft.Deployment.Compression.ArchiveProgressType,System.String,System.Int32,System.Int32,System.Int64,System.Int64,System.String,System.Int32,System.Int32,System.Int64,System.Int64,System.Int64,System.Int64)">
            <summary>
            Creates a new ArchiveProgressEventArgs object from specified event parameters.
            </summary>
            <param name="progressType">type of status message</param>
            <param name="currentFileName">name of the file being processed</param>
            <param name="currentFileNumber">number of the current file being processed</param>
            <param name="totalFiles">total number of files to be processed</param>
            <param name="currentFileBytesProcessed">number of bytes processed so far when compressing or extracting a file</param>
            <param name="currentFileTotalBytes">total number of bytes in the current file</param>
            <param name="currentArchiveName">name of the current Archive</param>
            <param name="currentArchiveNumber">current Archive number, when processing a chained set of Archives</param>
            <param name="totalArchives">total number of Archives in a chained set</param>
            <param name="currentArchiveBytesProcessed">number of compressed bytes processed so far during an extraction</param>
            <param name="currentArchiveTotalBytes">total number of compressed bytes to be processed during an extraction</param>
            <param name="fileBytesProcessed">number of uncompressed file bytes processed so far</param>
            <param name="totalFileBytes">total number of uncompressed file bytes to be processed</param>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.ProgressType">
            <summary>
            Gets the type of status message.
            </summary>
            <value>A <see cref="T:Microsoft.Deployment.Compression.ArchiveProgressType"/> value indicating what type of progress event occurred.</value>
            <remarks>
            The handler may choose to ignore some types of progress events.
            For example, if the handler will only list each file as it is
            compressed/extracted, it can ignore events that
            are not of type <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile"/>.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentFileName">
            <summary>
            Gets the name of the file being processed. (The name of the file within the Archive; not the external
            file path.) Also includes the internal path of the file, if any.  Valid for
            <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartFile"/>, <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialFile"/>,
            and <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile"/> messages.
            </summary>
            <value>The name of the file currently being processed, or null if processing
            is currently at the stream or archive level.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentFileNumber">
            <summary>
            Gets the number of the current file being processed. The first file is number 0, and the last file
            is <see cref="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalFiles"/>-1. Valid for <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartFile"/>,
            <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialFile"/>, and <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile"/> messages.
            </summary>
            <value>The number of the file currently being processed, or the most recent
            file processed if processing is currently at the stream or archive level.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalFiles">
            <summary>
            Gets the total number of files to be processed.  Valid for all message types.
            </summary>
            <value>The total number of files to be processed that are known so far.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentFileBytesProcessed">
            <summary>
            Gets the number of bytes processed so far when compressing or extracting a file.  Valid for
            <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartFile"/>, <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialFile"/>,
            and <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile"/> messages.
            </summary>
            <value>The number of uncompressed bytes processed so far for the current file,
            or 0 if processing is currently at the stream or archive level.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentFileTotalBytes">
            <summary>
            Gets the total number of bytes in the current file.  Valid for <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartFile"/>,
            <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialFile"/>, and <see cref="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile"/> messages.
            </summary>
            <value>The uncompressed size of the current file being processed,
            or 0 if processing is currently at the stream or archive level.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentArchiveName">
            <summary>
            Gets the name of the current archive.  Not necessarily the name of the archive on disk.
            Valid for all message types.
            </summary>
            <value>The name of the current archive, or an empty string if no name was specified.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentArchiveNumber">
            <summary>
            Gets the current archive number, when processing a chained set of archives. Valid for all message types.
            </summary>
            <value>The number of the current archive.</value>
            <remarks>The first archive is number 0, and the last archive is
            <see cref="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalArchives"/>-1.</remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalArchives">
            <summary>
            Gets the total number of known archives in a chained set. Valid for all message types.
            </summary>
            <value>The total number of known archives in a chained set.</value>
            <remarks>
            When using the compression option to auto-split into multiple archives based on data size,
            this value will not be accurate until the end.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentArchiveBytesProcessed">
            <summary>
            Gets the number of compressed bytes processed so far during extraction
            of the current archive. Valid for all extraction messages.
            </summary>
            <value>The number of compressed bytes processed so far during extraction
            of the current archive.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.CurrentArchiveTotalBytes">
            <summary>
            Gets the total number of compressed bytes to be processed during extraction
            of the current archive. Valid for all extraction messages.
            </summary>
            <value>The total number of compressed bytes to be processed during extraction
            of the current archive.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.FileBytesProcessed">
            <summary>
            Gets the number of uncompressed bytes processed so far among all files. Valid for all message types.  
            </summary>
            <value>The number of uncompressed file bytes processed so far among all files.</value>
            <remarks>
            When compared to <see cref="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalFileBytes"/>, this can be used as a measure of overall progress.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveProgressEventArgs.TotalFileBytes">
            <summary>
            Gets the total number of uncompressed file bytes to be processed.  Valid for all message types.
            </summary>
            <value>The total number of uncompressed bytes to be processed among all files.</value>
        </member>
        <member name="T:Microsoft.Deployment.Compression.ArchiveProgressType">
            <summary>
            The type of progress event.
            </summary>
            <remarks>
            <p>PACKING EXAMPLE: The following sequence of events might be received when
            extracting a simple archive file with 2 files.</p>
            <list type="table">
            <listheader><term>Message Type</term><description>Description</description></listheader>
            <item><term>StartArchive</term> <description>Begin extracting archive</description></item>
            <item><term>StartFile</term>    <description>Begin extracting first file</description></item>
            <item><term>PartialFile</term>  <description>Extracting first file</description></item>
            <item><term>PartialFile</term>  <description>Extracting first file</description></item>
            <item><term>FinishFile</term>   <description>Finished extracting first file</description></item>
            <item><term>StartFile</term>    <description>Begin extracting second file</description></item>
            <item><term>PartialFile</term>  <description>Extracting second file</description></item>
            <item><term>FinishFile</term>   <description>Finished extracting second file</description></item>
            <item><term>FinishArchive</term><description>Finished extracting archive</description></item>
            </list>
            <p></p>
            <p>UNPACKING EXAMPLE:  Packing 3 files into 2 archive chunks, where the second file is
            continued to the second archive chunk.</p>
            <list type="table">
            <listheader><term>Message Type</term><description>Description</description></listheader>
            <item><term>StartFile</term>     <description>Begin compressing first file</description></item>
            <item><term>FinishFile</term>    <description>Finished compressing first file</description></item>
            <item><term>StartFile</term>     <description>Begin compressing second file</description></item>
            <item><term>PartialFile</term>   <description>Compressing second file</description></item>
            <item><term>PartialFile</term>   <description>Compressing second file</description></item>
            <item><term>FinishFile</term>    <description>Finished compressing second file</description></item>
            <item><term>StartArchive</term>  <description>Begin writing first archive</description></item>
            <item><term>PartialArchive</term><description>Writing first archive</description></item>
            <item><term>FinishArchive</term> <description>Finished writing first archive</description></item>
            <item><term>StartFile</term>     <description>Begin compressing third file</description></item>
            <item><term>PartialFile</term>   <description>Compressing third file</description></item>
            <item><term>FinishFile</term>    <description>Finished compressing third file</description></item>
            <item><term>StartArchive</term>  <description>Begin writing second archive</description></item>
            <item><term>PartialArchive</term><description>Writing second archive</description></item>
            <item><term>FinishArchive</term> <description>Finished writing second archive</description></item>
            </list>
            </remarks>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartFile">
            <summary>Status message before beginning the packing or unpacking an individual file.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialFile">
            <summary>Status message (possibly reported multiple times) during the process of packing or unpacking a file.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishFile">
            <summary>Status message after completion of the packing or unpacking an individual file.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.StartArchive">
            <summary>Status message before beginning the packing or unpacking an archive.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.PartialArchive">
            <summary>Status message (possibly reported multiple times) during the process of packing or unpacking an archiv.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.ArchiveProgressType.FinishArchive">
            <summary>Status message after completion of the packing or unpacking of an archive.</summary>
        </member>
        <member name="T:Microsoft.Deployment.Compression.ArchiveFileStreamContext">
            <summary>
            Provides a basic implementation of the archive pack and unpack stream context
            interfaces, based on a list of archive files, a default directory, and an
            optional mapping from internal to external file paths.
            </summary>
            <remarks>
            This class can also handle creating or extracting chained archive packages.
            </remarks>
        </member>
        <member name="T:Microsoft.Deployment.Compression.IPackStreamContext">
            <summary>
            This interface provides the methods necessary for the
            <see cref="T:Microsoft.Deployment.Compression.CompressionEngine"/> to open and close streams for archives
            and files. The implementor of this interface can use any kind of logic
            to determine what kind of streams to open and where.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.GetArchiveName(System.Int32)">
            <summary>
            Gets the name of the archive with a specified number.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive
            within the chain.</param>
            <returns>The name of the requested archive. May be an empty string
            for non-chained archives, but may never be null.</returns>
            <remarks>The archive name is the name stored within the archive, used for
            identification of the archive especially among archive chains. That
            name is often, but not necessarily the same as the filename of the
            archive package.</remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.OpenArchiveWriteStream(System.Int32,System.String,System.Boolean,Microsoft.Deployment.Compression.CompressionEngine)">
            <summary>
            Opens a stream for writing an archive package.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive within
            the chain.</param>
            <param name="archiveName">The name of the archive that was returned
            by <see cref="M:Microsoft.Deployment.Compression.IPackStreamContext.GetArchiveName(System.Int32)"/>.</param>
            <param name="truncate">True if the stream should be truncated when
            opened (if it already exists); false if an existing stream is being
            re-opened for writing additional data.</param>
            <param name="compressionEngine">Instance of the compression engine
            doing the operations.</param>
            <returns>A writable Stream where the compressed archive bytes will be
            written, or null to cancel the archive creation.</returns>
            <remarks>
            If this method returns null, the archive engine will throw a
            FileNotFoundException.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.CloseArchiveWriteStream(System.Int32,System.String,System.IO.Stream)">
            <summary>
            Closes a stream where an archive package was written.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive within
            the chain.</param>
            <param name="archiveName">The name of the archive that was previously
            returned by
            <see cref="M:Microsoft.Deployment.Compression.IPackStreamContext.GetArchiveName(System.Int32)"/>.</param>
            <param name="stream">A stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.IPackStreamContext.OpenArchiveWriteStream(System.Int32,System.String,System.Boolean,Microsoft.Deployment.Compression.CompressionEngine)"/> and is now ready to be closed.</param>
            <remarks>
            If there is another archive package in the chain, then after this stream
            is closed a new stream will be opened.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)">
            <summary>
            Opens a stream to read a file that is to be included in an archive.
            </summary>
            <param name="path">The path of the file within the archive. This is often,
            but not necessarily, the same as the relative path of the file outside
            the archive.</param>
            <param name="attributes">Returned attributes of the opened file, to be
            stored in the archive.</param>
            <param name="lastWriteTime">Returned last-modified time of the opened file,
            to be stored in the archive.</param>
            <returns>A readable Stream where the file bytes will be read from before
            they are compressed, or null to skip inclusion of the file and continue to
            the next file.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.CloseFileReadStream(System.String,System.IO.Stream)">
            <summary>
            Closes a stream that has been used to read a file.
            </summary>
            <param name="path">The path of the file within the archive; the same as
            the path provided
            when the stream was opened.</param>
            <param name="stream">A stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.IPackStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and is now ready to be closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IPackStreamContext.GetOption(System.String,System.Object[])">
            <summary>
            Gets extended parameter information specific to the compression
            format being used.
            </summary>
            <param name="optionName">Name of the option being requested.</param>
            <param name="parameters">Parameters for the option; for per-file options,
            the first parameter is typically the internal file path.</param>
            <returns>Option value, or null to use the default behavior.</returns>
            <remarks>
            This method provides a way to set uncommon options during packaging, or a
            way to handle aspects of compression formats not supported by the base library.
            <para>For example, this may be used by the zip compression library to
            specify different compression methods/levels on a per-file basis.</para>
            <para>The available option names, parameters, and expected return values
            should be documented by each compression library.</para>
            </remarks>
        </member>
        <member name="T:Microsoft.Deployment.Compression.IUnpackStreamContext">
            <summary>
            This interface provides the methods necessary for the <see cref="T:Microsoft.Deployment.Compression.CompressionEngine"/> to open
            and close streams for archives and files. The implementor of this interface can use any
            kind of logic to determine what kind of streams to open and where 
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IUnpackStreamContext.OpenArchiveReadStream(System.Int32,System.String,Microsoft.Deployment.Compression.CompressionEngine)">
            <summary>
            Opens the archive stream for reading.
            </summary>
            <param name="archiveNumber">The zero-based index of the archive to open.</param>
            <param name="archiveName">The name of the archive being opened.</param>
            <param name="compressionEngine">Instance of the compression engine doing the operations.</param>
            <returns>A stream from which archive bytes are read, or null to cancel extraction
            of the archive.</returns>
            <remarks>
            When the first archive in a chain is opened, the name is not yet known, so the
            provided value will be an empty string. When opening further archives, the
            provided value is the next-archive name stored in the previous archive. This
            name is often, but not necessarily, the same as the filename of the archive
            package to be opened.
            <para>If this method returns null, the archive engine will throw a
            FileNotFoundException.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IUnpackStreamContext.CloseArchiveReadStream(System.Int32,System.String,System.IO.Stream)">
            <summary>
            Closes a stream where an archive package was read.
            </summary>
            <param name="archiveNumber">The archive number of the stream to close.</param>
            <param name="archiveName">The name of the archive being closed.</param>
            <param name="stream">The stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.IUnpackStreamContext.OpenArchiveReadStream(System.Int32,System.String,Microsoft.Deployment.Compression.CompressionEngine)"/> and is now ready to be closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IUnpackStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)">
            <summary>
            Opens a stream for writing extracted file bytes.
            </summary>
            <param name="path">The path of the file within the archive. This is often, but
            not necessarily, the same as the relative path of the file outside the archive.</param>
            <param name="fileSize">The uncompressed size of the file to be extracted.</param>
            <param name="lastWriteTime">The last write time of the file to be extracted.</param>
            <returns>A stream where extracted file bytes are to be written, or null to skip
            extraction of the file and continue to the next file.</returns>
            <remarks>
            The implementor may use the path, size and date information to dynamically
            decide whether or not the file should be extracted.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.IUnpackStreamContext.CloseFileWriteStream(System.String,System.IO.Stream,System.IO.FileAttributes,System.DateTime)">
            <summary>
            Closes a stream where an extracted file was written.
            </summary>
            <param name="path">The path of the file within the archive.</param>
            <param name="stream">The stream that was previously returned by <see cref="M:Microsoft.Deployment.Compression.IUnpackStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>
            and is now ready to be closed.</param>
            <param name="attributes">The attributes of the extracted file.</param>
            <param name="lastWriteTime">The last write time of the file.</param>
            <remarks>
            The implementor may wish to apply the attributes and date to the newly-extracted file.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.#ctor(System.String)">
            <summary>
            Creates a new ArchiveFileStreamContext with a archive file and
            no default directory or file mapping.
            </summary>
            <param name="archiveFile">The path to a archive file that will be
            created or extracted.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.#ctor(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            Creates a new ArchiveFileStreamContext with a archive file, default
            directory and mapping from internal to external file paths.
            </summary>
            <param name="archiveFile">The path to a archive file that will be
            created or extracted.</param>
            <param name="directory">The default root directory where files will be
            located, optional.</param>
            <param name="files">A mapping from internal file paths to external file
            paths, optional.</param>
            <remarks>
            If the mapping is not null and a file is not included in the mapping,
            the file will be skipped.
            <para>If the external path in the mapping is a simple file name or
            relative file path, it will be concatenated onto the default directory,
            if one was specified.</para>
            <para>For more about how the default directory and files mapping are
            used, see <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.#ctor(System.Collections.Generic.IList{System.String},System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            Creates a new ArchiveFileStreamContext with a list of archive files,
            a default directory and a mapping from internal to external file paths.
            </summary>
            <param name="archiveFiles">A list of paths to archive files that will be
            created or extracted.</param>
            <param name="directory">The default root directory where files will be
            located, optional.</param>
            <param name="files">A mapping from internal file paths to external file
            paths, optional.</param>
            <remarks>
            When creating chained archives, the <paramref name="archiveFiles"/> list
            should include at least enough archives to handle the entire set of
            input files, based on the maximum archive size that is passed to the
            <see cref="T:Microsoft.Deployment.Compression.CompressionEngine"/>.<see cref="M:Microsoft.Deployment.Compression.CompressionEngine.Pack(Microsoft.Deployment.Compression.IPackStreamContext,System.Collections.Generic.IEnumerable{System.String},System.Int64)"/>.
            <para>If the mapping is not null and a file is not included in the mapping,
            the file will be skipped.</para>
            <para>If the external path in the mapping is a simple file name or
            relative file path, it will be concatenated onto the default directory,
            if one was specified.</para>
            <para>For more about how the default directory and files mapping are used,
            see <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.GetArchiveName(System.Int32)">
            <summary>
            Gets the name of the archive with a specified number.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive within
            the chain.</param>
            <returns>The name of the requested archive. May be an empty string
            for non-chained archives, but may never be null.</returns>
            <remarks>This method returns the file name of the archive from the
            <see cref="F:Microsoft.Deployment.Compression.ArchiveFileStreamContext.archiveFiles"/> list with the specified index, or an empty
            string if the archive number is outside the bounds of the list. The
            file name should not include any directory path.</remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenArchiveWriteStream(System.Int32,System.String,System.Boolean,Microsoft.Deployment.Compression.CompressionEngine)">
            <summary>
            Opens a stream for writing an archive.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive within
            the chain.</param>
            <param name="archiveName">The name of the archive that was returned
            by <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.GetArchiveName(System.Int32)"/>.</param>
            <param name="truncate">True if the stream should be truncated when
            opened (if it already exists); false if an existing stream is being
            re-opened for writing additional data.</param>
            <param name="compressionEngine">Instance of the compression engine
            doing the operations.</param>
            <returns>A writable Stream where the compressed archive bytes will be
            written, or null to cancel the archive creation.</returns>
            <remarks>
            This method opens the file from the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.ArchiveFiles"/> list
            with the specified index. If the archive number is outside the bounds
            of the list, this method returns null.
            <para>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.EnableOffsetOpen"/> flag is set, this method
            will seek to the start of any existing archive in the file, or to the
            end of the file if the existing file is not an archive.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.CloseArchiveWriteStream(System.Int32,System.String,System.IO.Stream)">
            <summary>
            Closes a stream where an archive package was written.
            </summary>
            <param name="archiveNumber">The 0-based index of the archive within
            the chain.</param>
            <param name="archiveName">The name of the archive that was previously
            returned by <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.GetArchiveName(System.Int32)"/>.</param>
            <param name="stream">A stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenArchiveWriteStream(System.Int32,System.String,System.Boolean,Microsoft.Deployment.Compression.CompressionEngine)"/> and is now ready to be closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)">
            <summary>
            Opens a stream to read a file that is to be included in an archive.
            </summary>
            <param name="path">The path of the file within the archive.</param>
            <param name="attributes">The returned attributes of the opened file,
            to be stored in the archive.</param>
            <param name="lastWriteTime">The returned last-modified time of the
            opened file, to be stored in the archive.</param>
            <returns>A readable Stream where the file bytes will be read from
            before they are compressed, or null to skip inclusion of the file and
            continue to the next file.</returns>
            <remarks>
            This method opens a file using the following logic:
            <list>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> and the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/> mapping
            are both null, the path is treated as relative to the current directory,
            and that file is opened.</item>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> is not null but the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping is null, the path is treated as relative to that directory, and
            that file is opened.</item>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> is null but the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping is not null, the path parameter is used as a key into the mapping,
            and the resulting value is the file path that is opened, relative to the
            current directory (or it may be an absolute path). If no mapping exists,
            the file is skipped.</item>
            <item>If both the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> and the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping are specified, the path parameter is used as a key into the
            mapping, and the resulting value is the file path that is opened, relative
            to the specified directory (or it may be an absolute path). If no mapping
            exists, the file is skipped.</item>
            </list>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.CloseFileReadStream(System.String,System.IO.Stream)">
            <summary>
            Closes a stream that has been used to read a file.
            </summary>
            <param name="path">The path of the file within the archive; the same as
            the path provided when the stream was opened.</param>
            <param name="stream">A stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and is now ready to be closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.GetOption(System.String,System.Object[])">
            <summary>
            Gets extended parameter information specific to the compression format
            being used.
            </summary>
            <param name="optionName">Name of the option being requested.</param>
            <param name="parameters">Parameters for the option; for per-file options,
            the first parameter is typically the internal file path.</param>
            <returns>Option value, or null to use the default behavior.</returns>
            <remarks>
            This implementation does not handle any options. Subclasses may override
            this method to allow for non-default behavior.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenArchiveReadStream(System.Int32,System.String,Microsoft.Deployment.Compression.CompressionEngine)">
            <summary>
            Opens the archive stream for reading.
            </summary>
            <param name="archiveNumber">The zero-based index of the archive to
            open.</param>
            <param name="archiveName">The name of the archive being opened.</param>
            <param name="compressionEngine">Instance of the compression engine
            doing the operations.</param>
            <returns>A stream from which archive bytes are read, or null to cancel
            extraction of the archive.</returns>
            <remarks>
            This method opens the file from the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.ArchiveFiles"/> list with
            the specified index. If the archive number is outside the bounds of the
            list, this method returns null.
            <para>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.EnableOffsetOpen"/> flag is set, this method will
            seek to the start of any existing archive in the file, or to the end of
            the file if the existing file is not an archive.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.CloseArchiveReadStream(System.Int32,System.String,System.IO.Stream)">
            <summary>
            Closes a stream where an archive was read.
            </summary>
            <param name="archiveNumber">The archive number of the stream
            to close.</param>
            <param name="archiveName">The name of the archive being closed.</param>
            <param name="stream">The stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenArchiveReadStream(System.Int32,System.String,Microsoft.Deployment.Compression.CompressionEngine)"/> and is now ready to be closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)">
            <summary>
            Opens a stream for writing extracted file bytes.
            </summary>
            <param name="path">The path of the file within the archive.</param>
            <param name="fileSize">The uncompressed size of the file to be
            extracted.</param>
            <param name="lastWriteTime">The last write time of the file to be
            extracted.</param>
            <returns>A stream where extracted file bytes are to be written, or null
            to skip extraction of the file and continue to the next file.</returns>
            <remarks>
            This method opens a file using the following logic:
            <list>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> and the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/> mapping
            are both null, the path is treated as relative to the current directory,
            and that file is opened.</item>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> is not null but the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping is null, the path is treated as relative to that directory, and
            that file is opened.</item>
            <item>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> is null but the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping is not null, the path parameter is used as a key into the mapping,
            and the resulting value is the file path that is opened, relative to the
            current directory (or it may be an absolute path). If no mapping exists,
            the file is skipped.</item>
            <item>If both the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> and the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/>
            mapping are specified, the path parameter is used as a key into the
            mapping, and the resulting value is the file path that is opened,
            relative to the specified directory (or it may be an absolute path).
            If no mapping exists, the file is skipped.</item>
            </list>
            <para>If the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.ExtractOnlyNewerFiles"/> flag is set, the file
            is skipped if a file currently exists in the same path with an equal
            or newer write time.</para>
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.CloseFileWriteStream(System.String,System.IO.Stream,System.IO.FileAttributes,System.DateTime)">
            <summary>
            Closes a stream where an extracted file was written.
            </summary>
            <param name="path">The path of the file within the archive.</param>
            <param name="stream">The stream that was previously returned by
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/> and is now ready to be closed.</param>
            <param name="attributes">The attributes of the extracted file.</param>
            <param name="lastWriteTime">The last write time of the file.</param>
            <remarks>
            After closing the extracted file stream, this method applies the date
            and attributes to that file.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.TranslateFilePath(System.String)">
            <summary>
            Translates an internal file path to an external file path using the
            <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory"/> and the <see cref="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files"/> mapping, according to
            rules documented in <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and
            <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>.
            </summary>
            <param name="path">The path of the file with the archive.</param>
            <returns>The external path of the file, or null if there is no
            valid translation.</returns>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.ArchiveFiles">
            <summary>
            Gets or sets the list of archive files that are created or extracted.
            </summary>
            <value>The list of archive files that are created or extracted.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Directory">
            <summary>
            Gets or sets the default root directory where files are located.
            </summary>
            <value>The default root directory where files are located.</value>
            <remarks>
            For details about how the default directory is used,
            see <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.Files">
            <summary>
            Gets or sets the mapping from internal file paths to external file paths.
            </summary>
            <value>A mapping from internal file paths to external file paths.</value>
            <remarks>
            For details about how the files mapping is used,
            see <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileReadStream(System.String,System.IO.FileAttributes@,System.DateTime@)"/> and <see cref="M:Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)"/>.
            </remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.ExtractOnlyNewerFiles">
            <summary>
            Gets or sets a flag that can prevent extracted files from overwriting
            newer files that already exist.
            </summary>
            <value>True to prevent overwriting newer files that already exist
            during extraction; false to always extract from the archive regardless
            of existing files.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.ArchiveFileStreamContext.EnableOffsetOpen">
            <summary>
            Gets or sets a flag that enables creating or extracting an archive
            at an offset within an existing file. (This is typically used to open
            archive-based self-extracting packages.)
            </summary>
            <value>True to search an existing package file for an archive offset
            or the end of the file;/ false to always create or open a plain
            archive file.</value>
        </member>
        <member name="T:Microsoft.Deployment.Compression.BasicUnpackStreamContext">
            <summary>
            Stream context used to extract a single file from an archive into a memory stream.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.BasicUnpackStreamContext.#ctor(System.IO.Stream)">
            <summary>
            Creates a new BasicExtractStreamContext that reads from the specified archive stream.
            </summary>
            <param name="archiveStream">Archive stream to read from.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.BasicUnpackStreamContext.OpenArchiveReadStream(System.Int32,System.String,Microsoft.Deployment.Compression.CompressionEngine)">
            <summary>
            Opens the archive stream for reading. Returns a DuplicateStream instance,
            so the stream may be virtually opened multiple times.
            </summary>
            <param name="archiveNumber">The archive number to open (ignored; 0 is assumed).</param>
            <param name="archiveName">The name of the archive being opened.</param>
            <param name="compressionEngine">Instance of the compression engine doing the operations.</param>
            <returns>A stream from which archive bytes are read.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.BasicUnpackStreamContext.CloseArchiveReadStream(System.Int32,System.String,System.IO.Stream)">
            <summary>
            Does *not* close the stream. The archive stream should be managed by
            the code that invokes the archive extraction.
            </summary>
            <param name="archiveNumber">The archive number of the stream to close.</param>
            <param name="archiveName">The name of the archive being closed.</param>
            <param name="stream">The stream being closed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.BasicUnpackStreamContext.OpenFileWriteStream(System.String,System.Int64,System.DateTime)">
            <summary>
            Opens a stream for writing extracted file bytes. The returned stream is a MemoryStream
            instance, so the file is extracted straight into memory.
            </summary>
            <param name="path">Path of the file within the archive.</param>
            <param name="fileSize">The uncompressed size of the file to be extracted.</param>
            <param name="lastWriteTime">The last write time of the file.</param>
            <returns>A stream where extracted file bytes are to be written.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.BasicUnpackStreamContext.CloseFileWriteStream(System.String,System.IO.Stream,System.IO.FileAttributes,System.DateTime)">
            <summary>
            Does *not* close the file stream. The file stream is saved in memory so it can
            be read later.
            </summary>
            <param name="path">Path of the file within the archive.</param>
            <param name="stream">The file stream to be closed.</param>
            <param name="attributes">The attributes of the extracted file.</param>
            <param name="lastWriteTime">The last write time of the file.</param>
        </member>
        <member name="P:Microsoft.Deployment.Compression.BasicUnpackStreamContext.FileStream">
            <summary>
            Gets the stream for the extracted file, or null if no file was extracted.
            </summary>
        </member>
        <member name="T:Microsoft.Deployment.Compression.CompressionEngine">
            <summary>
            Base class for an engine capable of packing and unpacking a particular
            compressed file format.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.#ctor">
            <summary>
            Creates a new instance of the compression engine base class.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Finalize">
            <summary>
            Disposes the compression engine.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Dispose">
            <summary>
            Disposes of resources allocated by the compression engine.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Pack(Microsoft.Deployment.Compression.IPackStreamContext,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Creates an archive.
            </summary>
            <param name="streamContext">A context interface to handle opening
            and closing of archive and file streams.</param>
            <param name="files">The paths of the files in the archive
            (not external file paths).</param>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The archive could not be
            created.</exception>
            <remarks>
            The stream context implementation may provide a mapping from the
            file paths within the archive to the external file paths.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Pack(Microsoft.Deployment.Compression.IPackStreamContext,System.Collections.Generic.IEnumerable{System.String},System.Int64)">
            <summary>
            Creates an archive or chain of archives.
            </summary>
            <param name="streamContext">A context interface to handle opening
            and closing of archive and file streams.</param>
            <param name="files">The paths of the files in the archive (not
            external file paths).</param>
            <param name="maxArchiveSize">The maximum number of bytes for one
            archive before the contents are chained to the next archive, or zero
            for unlimited archive size.</param>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The archive could not be
            created.</exception>
            <remarks>
            The stream context implementation may provide a mapping from the file
            paths within the archive to the external file paths.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.IsArchive(System.IO.Stream)">
            <summary>
            Checks whether a Stream begins with a header that indicates
            it is a valid archive.
            </summary>
            <param name="stream">Stream for reading the archive file.</param>
            <returns>True if the stream is a valid archive
            (with no offset); false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.FindArchiveOffset(System.IO.Stream)">
            <summary>
            Gets the offset of an archive that is positioned 0 or more bytes
            from the start of the Stream.
            </summary>
            <param name="stream">A stream for reading the archive.</param>
            <returns>The offset in bytes of the archive,
            or -1 if no archive is found in the Stream.</returns>
            <remarks>The archive must begin on a 4-byte boundary.</remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.GetFileInfo(System.IO.Stream)">
            <summary>
            Gets information about all files in an archive stream.
            </summary>
            <param name="stream">A stream for reading the archive.</param>
            <returns>Information about all files in the archive stream.</returns>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The stream is not a valid
            archive.</exception>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.GetFileInfo(Microsoft.Deployment.Compression.IUnpackStreamContext,System.Predicate{System.String})">
            <summary>
            Gets information about files in an archive or archive chain.
            </summary>
            <param name="streamContext">A context interface to handle opening
            and closing of archive and file streams.</param>
            <param name="fileFilter">A predicate that can determine
            which files to process, optional.</param>
            <returns>Information about files in the archive stream.</returns>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The archive provided
            by the stream context is not valid.</exception>
            <remarks>
            The <paramref name="fileFilter"/> predicate takes an internal file
            path and returns true to include the file or false to exclude it.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.GetFiles(System.IO.Stream)">
            <summary>
            Gets the list of files in an archive Stream.
            </summary>
            <param name="stream">A stream for reading the archive.</param>
            <returns>A list of the paths of all files contained in the
            archive.</returns>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The stream is not a valid
            archive.</exception>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.GetFiles(Microsoft.Deployment.Compression.IUnpackStreamContext,System.Predicate{System.String})">
            <summary>
            Gets the list of files in an archive or archive chain.
            </summary>
            <param name="streamContext">A context interface to handle opening
            and closing of archive and file streams.</param>
            <param name="fileFilter">A predicate that can determine
            which files to process, optional.</param>
            <returns>An array containing the names of all files contained in
            the archive or archive chain.</returns>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The archive provided
            by the stream context is not valid.</exception>
            <remarks>
            The <paramref name="fileFilter"/> predicate takes an internal file
            path and returns true to include the file or false to exclude it.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Unpack(System.IO.Stream,System.String)">
            <summary>
            Reads a single file from an archive stream.
            </summary>
            <param name="stream">A stream for reading the archive.</param>
            <param name="path">The path of the file within the archive
            (not the external file path).</param>
            <returns>A stream for reading the extracted file, or null
            if the file does not exist in the archive.</returns>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The stream is not a valid
            archive.</exception>
            <remarks>The entire extracted file is cached in memory, so this
            method requires enough free memory to hold the file.</remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Unpack(Microsoft.Deployment.Compression.IUnpackStreamContext,System.Predicate{System.String})">
            <summary>
            Extracts files from an archive or archive chain.
            </summary>
            <param name="streamContext">A context interface to handle opening
            and closing of archive and file streams.</param>
            <param name="fileFilter">An optional predicate that can determine
            which files to process.</param>
            <exception cref="T:Microsoft.Deployment.Compression.ArchiveException">The archive provided
            by the stream context is not valid.</exception>
            <remarks>
            The <paramref name="fileFilter"/> predicate takes an internal file
            path and returns true to include the file or false to exclude it.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.OnProgress(Microsoft.Deployment.Compression.ArchiveProgressEventArgs)">
            <summary>
            Called by sublcasses to distribute a packing or unpacking progress
            event to listeners.
            </summary>
            <param name="e">Event details.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.Dispose(System.Boolean)">
            <summary>
            Disposes of resources allocated by the compression engine.
            </summary>
            <param name="disposing">If true, the method has been called
            directly or indirectly by a user's code, so managed and unmanaged
            resources will be disposed. If false, the method has been called by
            the runtime from inside the finalizer, and only unmanaged resources
            will be disposed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.DosDateAndTimeToDateTime(System.Int16,System.Int16,System.DateTime@)">
            <summary>
            Compresion utility function for converting old-style
            date and time values to a DateTime structure.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CompressionEngine.DateTimeToDosDateAndTime(System.DateTime,System.Int16@,System.Int16@)">
            <summary>
            Compresion utility function for converting a DateTime structure
            to old-style date and time values.
            </summary>
        </member>
        <member name="E:Microsoft.Deployment.Compression.CompressionEngine.Progress">
            <summary>
            Occurs when the compression engine reports progress in packing
            or unpacking an archive.
            </summary>
            <seealso cref="T:Microsoft.Deployment.Compression.ArchiveProgressType"/>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CompressionEngine.UseTempFiles">
            <summary>
            Gets or sets a flag indicating whether temporary files are created
            and used during compression.
            </summary>
            <value>True if temporary files are used; false if compression is done
            entirely in-memory.</value>
            <remarks>The value of this property is true by default. Using temporary
            files can greatly reduce the memory requirement of compression,
            especially when compressing large archives. However, setting this property
            to false may yield slightly better performance when creating small
            archives. Or it may be necessary if the process does not have sufficient
            privileges to create temporary files.</remarks>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CompressionEngine.CompressionLevel">
            <summary>
            Compression level to use when compressing files.
            </summary>
            <value>A compression level ranging from minimum to maximum compression,
            or no compression.</value>
        </member>
        <member name="T:Microsoft.Deployment.Compression.CompressionLevel">
            <summary>
            Specifies the compression level ranging from minimum compresion to
            maximum compression, or no compression at all.
            </summary>
            <remarks>
            Although only four values are enumerated, any integral value between
            <see cref="F:Microsoft.Deployment.Compression.CompressionLevel.Min"/> and <see cref="F:Microsoft.Deployment.Compression.CompressionLevel.Max"/> can also be used.
            </remarks>
        </member>
        <member name="F:Microsoft.Deployment.Compression.CompressionLevel.None">
            <summary>Do not compress files, only store.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.CompressionLevel.Min">
            <summary>Minimum compression; fastest.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.CompressionLevel.Normal">
            <summary>A compromize between speed and compression efficiency.</summary>
        </member>
        <member name="F:Microsoft.Deployment.Compression.CompressionLevel.Max">
            <summary>Maximum compression; slowest.</summary>
        </member>
        <member name="T:Microsoft.Deployment.Compression.CargoStream">
            <summary>
            Wraps a source stream and carries additional items that are disposed when the stream is closed.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.#ctor(System.IO.Stream,System.IDisposable[])">
            <summary>
            Creates a new a cargo stream.
            </summary>
            <param name="source">source of the stream</param>
            <param name="cargo">List of additional items that are disposed when the stream is closed.
            The order of the list is the order in which the items are disposed.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.Flush">
            <summary>
            Flushes the source stream.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the source stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.Close">
            <summary>
            Closes the source stream and also closes the additional objects that are carried.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the source stream.
            </summary>
            <param name="buffer">An array of bytes. When this method returns, the buffer
            contains the specified byte array with the values between offset and
            (offset + count - 1) replaced by the bytes read from the source.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin
            storing the data read from the stream.</param>
            <param name="count">The maximum number of bytes to be read from the stream.</param>
            <returns>The total number of bytes read into the buffer. This can be less
            than the number of bytes requested if that many bytes are not currently available,
            or zero (0) if the end of the stream has been reached.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes to the source stream.
            </summary>
            <param name="buffer">An array of bytes. This method copies count
            bytes from buffer to the stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which
            to begin copying bytes to the stream.</param>
            <param name="count">The number of bytes to be written to the stream.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.CargoStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Changes the position of the source stream.
            </summary>
            <param name="offset">A byte offset relative to the origin parameter.</param>
            <param name="origin">A value of type SeekOrigin indicating the reference
            point used to obtain the new position.</param>
            <returns>The new position within the stream.</returns>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.Source">
            <summary>
            Gets the source stream of the cargo stream.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.Cargo">
            <summary>
            Gets the list of additional items that are disposed when the stream is closed.
            The order of the list is the order in which the items are disposed. The contents can be modified any time.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.CanRead">
            <summary>
            Gets a value indicating whether the source stream supports reading.
            </summary>
            <value>true if the stream supports reading; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.CanWrite">
            <summary>
            Gets a value indicating whether the source stream supports writing.
            </summary>
            <value>true if the stream supports writing; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.CanSeek">
            <summary>
            Gets a value indicating whether the source stream supports seeking.
            </summary>
            <value>true if the stream supports seeking; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.Length">
            <summary>
            Gets the length of the source stream.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.CargoStream.Position">
            <summary>
            Gets or sets the position of the source stream.
            </summary>
        </member>
        <member name="T:Microsoft.Deployment.Compression.DuplicateStream">
            <summary>
            Duplicates a source stream by maintaining a separate position.
            </summary>
            <remarks>
            WARNING: duplicate streams are not thread-safe with respect to each other or the original stream.
            If multiple threads use duplicate copies of the same stream, they must synchronize for any operations.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.#ctor(System.IO.Stream)">
            <summary>
            Creates a new duplicate of a stream.
            </summary>
            <param name="source">source of the duplicate</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.OriginalStream(System.IO.Stream)">
            <summary>
            Retrieves the original stream from a possible duplicate stream.
            </summary>
            <param name="stream">Possible duplicate stream.</param>
            <returns>If the stream is a DuplicateStream, returns
            the duplicate's source; otherwise returns the same stream.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.Flush">
            <summary>
            Flushes the source stream.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the source stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.Close">
            <summary>
            Closes the underlying stream, effectively closing ALL duplicates.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the source stream while maintaining a separate position
            and not impacting the source stream's position.
            </summary>
            <param name="buffer">An array of bytes. When this method returns, the buffer
            contains the specified byte array with the values between offset and
            (offset + count - 1) replaced by the bytes read from the current source.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin
            storing the data read from the current stream.</param>
            <param name="count">The maximum number of bytes to be read from the current stream.</param>
            <returns>The total number of bytes read into the buffer. This can be less
            than the number of bytes requested if that many bytes are not currently available,
            or zero (0) if the end of the stream has been reached.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes to the source stream while maintaining a separate position
            and not impacting the source stream's position.
            </summary>
            <param name="buffer">An array of bytes. This method copies count
            bytes from buffer to the current stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which
            to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the
            current stream.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.DuplicateStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Changes the position of this stream without impacting the
            source stream's position.
            </summary>
            <param name="offset">A byte offset relative to the origin parameter.</param>
            <param name="origin">A value of type SeekOrigin indicating the reference
            point used to obtain the new position.</param>
            <returns>The new position within the current stream.</returns>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.Source">
            <summary>
            Gets the original stream that was used to create the duplicate.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.CanRead">
            <summary>
            Gets a value indicating whether the source stream supports reading.
            </summary>
            <value>true if the stream supports reading; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.CanWrite">
            <summary>
            Gets a value indicating whether the source stream supports writing.
            </summary>
            <value>true if the stream supports writing; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.CanSeek">
            <summary>
            Gets a value indicating whether the source stream supports seeking.
            </summary>
            <value>true if the stream supports seeking; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.Length">
            <summary>
            Gets the length of the source stream.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.DuplicateStream.Position">
            <summary>
            Gets or sets the position of the current stream,
            ignoring the position of the source stream.
            </summary>
        </member>
        <member name="T:Microsoft.Deployment.Compression.OffsetStream">
            <summary>
            Wraps a source stream and offsets all read/write/seek calls by a given value.
            </summary>
            <remarks>
            This class is used to trick archive an packing or unpacking process
            into reading or writing at an offset into a file, primarily for
            self-extracting packages.
            </remarks>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.#ctor(System.IO.Stream,System.Int64)">
            <summary>
            Creates a new OffsetStream instance from a source stream
            and using a specified offset.
            </summary>
            <param name="source">Underlying stream for which all calls will be offset.</param>
            <param name="offset">Positive or negative number of bytes to offset.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the source stream and advances
            the position within the stream by the number of bytes read.
            </summary>
            <param name="buffer">An array of bytes. When this method returns, the buffer
            contains the specified byte array with the values between offset and
            (offset + count - 1) replaced by the bytes read from the current source.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin
            storing the data read from the current stream.</param>
            <param name="count">The maximum number of bytes to be read from the current stream.</param>
            <returns>The total number of bytes read into the buffer. This can be less
            than the number of bytes requested if that many bytes are not currently available,
            or zero (0) if the end of the stream has been reached.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the source stream and advances the
            current position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">An array of bytes. This method copies count
            bytes from buffer to the current stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which
            to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the
            current stream.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.ReadByte">
            <summary>
            Reads a byte from the stream and advances the position within the
            source stream by one byte, or returns -1 if at the end of the stream.
            </summary>
            <returns>The unsigned byte cast to an Int32, or -1 if at the
            end of the stream.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.WriteByte(System.Byte)">
            <summary>
            Writes a byte to the current position in the source stream and
            advances the position within the stream by one byte.
            </summary>
            <param name="value">The byte to write to the stream.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.Flush">
            <summary>
            Flushes the source stream.
            </summary>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream, which is
            equal to the position within the source stream minus the offset.
            </summary>
            <param name="offset">A byte offset relative to the origin parameter.</param>
            <param name="origin">A value of type SeekOrigin indicating
            the reference point used to obtain the new position.</param>
            <returns>The new position within the current stream.</returns>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.SetLength(System.Int64)">
            <summary>
            Sets the effective length of the stream, which is equal to
            the length of the source stream minus the offset.
            </summary>
            <param name="value">The desired length of the
            current stream in bytes.</param>
        </member>
        <member name="M:Microsoft.Deployment.Compression.OffsetStream.Close">
            <summary>
            Closes the underlying stream.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.Source">
            <summary>
            Gets the underlying stream that this OffsetStream calls into.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.Offset">
            <summary>
            Gets the number of bytes to offset all calls before
            redirecting to the underlying stream.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.CanRead">
            <summary>
            Gets a value indicating whether the source stream supports reading.
            </summary>
            <value>true if the stream supports reading; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.CanWrite">
            <summary>
            Gets a value indicating whether the source stream supports writing.
            </summary>
            <value>true if the stream supports writing; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.CanSeek">
            <summary>
            Gets a value indicating whether the source stream supports seeking.
            </summary>
            <value>true if the stream supports seeking; otherwise, false.</value>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.Length">
            <summary>
            Gets the effective length of the stream, which is equal to
            the length of the source stream minus the offset.
            </summary>
        </member>
        <member name="P:Microsoft.Deployment.Compression.OffsetStream.Position">
            <summary>
            Gets or sets the effective position of the stream, which
            is equal to the position of the source stream minus the offset.
            </summary>
        </member>
    </members>
</doc>
